
#ifndef HAL_STM_H
#define HAL_STM_H

#include "intc_lld.h"
#include "stm_lld.h"
#include "hal_types.h"

typedef void (* stmcbk)(void);

typedef enum
{
	STM_CHANNEL0 = 0,
	STM_CHANNEL1 = 1,
	STM_CHANNEL2 = 2,
	STM_CHANNEL3 = 3
}stm_channel_en;


void hal_stm_init(stm_channel_en channel ,uint32_t delay_us ,stmcbk stmcbk , enabled_en en);
void hal_stm_enabled(stm_channel_en channel ,enabled_en en);
void hal_stm_cbk(stm_channel_en channel ,stmcallback_t stmcbk );
void hal_stm_iqr_config(stm_channel_en channel ,INTC_PSR_PRI_t priorty , enabled_en en);
void hal_stm_clock(stm_channel_en channel ,uint32_t hz);
void hal_stm_resetcount(stm_channel_en channel);

#endif 
